package com.snowfield.lbcommon.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 负载集群对象 config_cluster
 *
 * @author snowfield
 * @date 2024-03-20
 */
public class Cluster extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 标识ID
     */
    private Long id;

    /**
     * 节点名称
     */
    @Excel(name = "节点名称")
    private String nodeName;

    /**
     * 运行模式，MM:双主模式，MB:主从模式
     */
    @Excel(name = "运行模式")
    private String mode;

    /**
     * MB设备类型(master,backup)
     * MM设备类型(masterA,masterB)
     */
    @Excel(name = "设备类型")
    private String deviceType;

    /**
     * 集群间通信协议(multicast,unicast)
     */
    @Excel(name = "集群间通信协议")
    private String vrrpProto;

    /**
     * 本机设备IP地址
     */
    @Excel(name = "本机设备地址")
    private String deviceIp;

    /**
     * 对端设备IP地址
     */
    @Excel(name = "对端设备地址")
    private String peerIp;

    /**
     * 虚拟路由id
     */
    @Excel(name = "虚拟路由id")
    private Integer virrouterId;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private Integer priority;

    /**
     * 第一个虚拟路由状态，MASTER:主,BACKUP:备
     */
    private String status;

    /**
     * 虚拟路由id
     */
    @Excel(name = "虚拟路由id")
    private Integer virrouterId2;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private Integer priority2;

    /**
     * 第二个虚拟路由状态，MASTER:主,BACKUP:备
     */
    private String status2;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public String getNodeName() {
        return nodeName;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public String getMode() {
        return mode;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public String getVrrpProto() {
        return vrrpProto;
    }

    public void setVrrpProto(String vrrpProto) {
        this.vrrpProto = vrrpProto;
    }

    public void setDeviceIp(String deviceIp) {
        this.deviceIp = deviceIp;
    }

    public String getDeviceIp() {
        return deviceIp;
    }

    public void setPeerIp(String peerIp) {
        this.peerIp = peerIp;
    }

    public String getPeerIp() {
        return peerIp;
    }

    public void setVirrouterId(Integer virrouterId) {
        this.virrouterId = virrouterId;
    }

    public Integer getVirrouterId() {
        return virrouterId;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Integer getPriority() {
        return priority;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setVirrouterId2(Integer virrouterId2) {
        this.virrouterId2 = virrouterId2;
    }

    public Integer getVirrouterId2() {
        return virrouterId2;
    }

    public void setPriority2(Integer priority2) {
        this.priority2 = priority2;
    }

    public Integer getPriority2() {
        return priority2;
    }

    public String getStatus2() {
        return status2;
    }

    public void setStatus2(String status2) {
        this.status2 = status2;
    }

    @Override
    public String toString() {
        return "Cluster{" +
                "id=" + id +
                ", nodeName='" + nodeName + '\'' +
                ", mode='" + mode + '\'' +
                ", deviceType='" + deviceType + '\'' +
                ", vrrpProto='" + vrrpProto + '\'' +
                ", deviceIp='" + deviceIp + '\'' +
                ", peerIp='" + peerIp + '\'' +
                ", virrouterId=" + virrouterId +
                ", priority=" + priority +
                ", status='" + status + '\'' +
                ", virrouterId2=" + virrouterId2 +
                ", priority2=" + priority2 +
                ", status2='" + status2 + '\'' +
                '}';
    }
}
